package com.file.system.service.system;

import com.file.system.entity.system.WebPost;
import com.baomidou.mybatisplus.extension.service.IService;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.file.system.entity.res.DataPage;

/**
* 岗位 服务类
* @author jch
* @since 2023-10-09
*/
public interface IWebPostService{

    //添加岗位
    boolean save(WebPost webPost);

    //添加岗位(批量)
    boolean saveBatch(@Param("list") List<WebPost> webPostList);

    //添加或更新岗位
    boolean saveOrUpdate(WebPost webPost);

    //编辑岗位
    boolean updateById(@Param("et")WebPost webPost);

    //编辑
    boolean update(@Param("ew") UpdateWrapper<WebPost> query);

    //删除岗位
    boolean removeById(@Param("id") Long id);

    //通过ids删除岗位
    boolean removeByIds(List<Long> ids);

    //查询岗位
    List<WebPost> list(@Param("ew") QueryWrapper<WebPost> query);

    //通过ids查询岗位集合
    List<WebPost> listByIds(List<Long> ids);

    //查询所有非删除状态岗位
    List<WebPost> listAll();

    //查询岗位分页
    DataPage<List<WebPost>> page(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize, @Param("ew") QueryWrapper<WebPost> query);

    //通过id查询岗位
    WebPost getById(@Param("id") Long id);

    //通过条件查询岗位
    WebPost getByOne(@Param("ew") QueryWrapper<WebPost> query);

    //查询岗位数量
    int count(@Param("ew") QueryWrapper<WebPost> query);
}
